﻿using InterviewAppPhone.ViewModels;
using LibQuestionIsPhone.Models;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Net.NetworkInformation;
using System;
using System.Threading.Tasks;
using System.Windows.Navigation;

namespace InterviewAppPhone.Views
{
    public partial class SchermataPrincipale : PhoneApplicationPage
    {
        public SchermataPrincipaleViewModel ViewModel { get; set; }

        public SchermataPrincipale()
        {
            InitializeComponent();
        }

        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (ViewModel == null)
            {
                ViewModel = new SchermataPrincipaleViewModel();
                ViewModel.CarcamentoCompletato_Event += ViewModel_CarcamentoCompletato_Event;
            }
            ViewModel.TestoErrore = "Attenzione. L'applicazione non funziona in assenza di rete. Riavviarlo quando è presente una rete dati.";
            ViewModel.IsConnection = DeviceNetworkInformation.IsNetworkAvailable;
            DataContext = ViewModel;
            StartAnimation.Begin();
            ViewModel.LoadData();

            await Task.FromResult(true);
            base.OnNavigatedTo(e);
        }

        private void ViewModel_CarcamentoCompletato_Event(object sender, EventArgs e)
        {
            if ((bool)sender)
                STVisualizzaMenu.Begin();
            else
            {
                StartAnimation.Stop();
                ViewModel.IsConnection = false;
            }
        }

        private void listaFunzionalita_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            if (listaFunzionalita.SelectedItem == null)
                return;

            var elemento = (Funzionalita)listaFunzionalita.SelectedItem;

            NavigationService.Navigate(new Uri(string.Format("/Views/{0}", elemento.Url), UriKind.Relative));


            listaFunzionalita.SelectedItem = null;

        }
    }
}